查看原文
其他

看我如何发现特斯拉 Model 3 中的 XSS 漏洞并赢得1万美元

samwcyo 代码卫士 2022-04-06

 聚焦源代码安全,网罗国内外最新资讯!

编译:奇安信代码卫士团队

我最有意思的黑客经历是黑掉特斯拉 Model 3这款车型具备内置 web 浏览器、免费的优质 LTE,以及无线软件更新功能。这款车型就像是装了联网计算机的车轮,运转飞快。

今年年初我打算买一辆,买来后很高兴地摆弄驾驶了一番。我一直待在车库里捣鼓,让它做一些有悖于其用途的事,所幸最后发现了一些有意思的点。


2019年4月


我玩的第一个功能是Model 3 的“命名你的车辆”功能。该功能是让用户为爱车起个昵称并保存到用户账户,这样用户就会在移动 app 上看到发出的通知(如充电完成)。

最开始,我起的昵称是“%x.%x.%x.%x”,想看看它是否易受如 2011宝马 330i 曾受到的格式字符串攻击,但没发现什么异样。

之后我又花了点时间摆弄输入,发现允许输入的内容长度非常长。我决定将昵称改为“myXSS hunter payload”,之后又开始把玩车辆的其它功能。

我还花了很长的时间摆弄内置 web 浏览器。虽然在远程的情况下我也奈何不了该功能,但在让它加载文件或奇怪的 URI 方面还是得到了不少乐趣。

当天晚上没发现什么异常情况,于是就此收手。不过我忘了已经把昵称设置为 blind XSS payload。


2019年6月


在一次旅途中,一块不知来自何方的巨石砸破了挡风玻璃。

于是我使用了特斯拉提供的 app 支持功能预约了售后并继续驾驶。

一天后,我收到的回复称有人正在调查此事。我查看了”myXSS hunter”后发现了非常耐人寻味的东西。

易受攻击的页面 URL:

https://garage.vn.teslamotors.com/vehicles/695057517/vitals

执行源:

https://garage.vn.teslamotors.com

参考:

https://garage.vn.teslamotors.com/vehicles/5YJ31337

响应了被砸破的挡风玻璃的其中一个代理在“garage.vn.teslamotors.com”域名上下文中“点燃”了我的 XSShunter payload。

这太让人兴奋了。

附加在 XSShunter 的截屏显示,该页面用于查看车辆的重要数据并可通过 URL 增量车辆 ID 进行访问。参照的头部信息参数是车辆的 VIN 号码。

XSS 漏洞针对的是用于拉动特拉斯车辆管理的仪表盘。

附加的 XSShunter 截屏中显示出当前的车辆信息,如车速、温度、版本号、轮胎压力等,车辆是否被锁定、发出警报等细节信息。

VIN: 5YJ3E13374KF2313373Car Type: 3 P74DBirthday: Mon Mar 11 16:31:37 2019Car Version: develop-2019.20.1-203-991337dCar Computer: iceSOE / USOE: 48.9, 48.9 %SOC: 54.2 %Ideal energy remaining: 37.2 kWhRange: 151.7 miOdometer: 4813.7 milesGear: DSpeed: 81 mphLocal Time: Wed Jun 19 15:09:06 2019UTC Offset: -21600Timezone: Mountain Daylight TimeBMS State: DRIVE12V Battery Voltage: 13.881 V12V Battery Current: 0.13 ALocked?: trueUI Mode: comfortLanguage: EnglishService Alert: 0X0

另外,还有一些关于固件、CAN 查看器、地理围栏位置、配置和听起来很有意思的内部代码名称,如“Tesladex 信息”。

我尝试浏览 URL “garage.vn.teslamotors.com”但被提示超时,因此它很可能是一个内部应用。

耐人寻味的是,实时支持代理能够将更新发送给汽车并很有可能修改车辆配置。我猜测该功能基于 DOM 中的不同超链接。虽然我并未尝试该功能,但攻击者可能通过=发送至核心端点的增量 ID,提取并修改其它车辆的信息。

如果我是尝试实施攻陷行为的攻击者,我很可能必须提交一些支持请求,但我最终将通过查看 DOM 和 JavaScript 来获悉足够的环境知识,并伪造请求为所欲为。


漏洞报告


在凌晨快2点时(驾驶了11个小时),我向特斯拉漏洞奖励计划发送漏洞报告。他们将报告定为 P1级做了注释并在12小时内推出热补丁。

我无法复现这种情况。两周左右之后,特斯拉颁发了1万美元的奖励金并表示我提出的疑问是一个严重问题。

回过头来想想,这个问题非常简单但确实是长期遭忽视。尽管我无法确认该漏洞的真正影响,但似乎影响巨大,至少可导致攻击者查看车辆的实时信息,很可能也可以查看客户的信息。


时间轴


2019年6月20日06:27:30 (UTC):提交报告

2019年6月20日 20::35:35 (UTC):确认问题并推出热补丁

2019年7月11日16:07:59 (UTC):颁发奖金,解决漏洞

最后,我认为特斯拉的漏洞奖励计划非常棒,他们为尝试黑掉特斯拉的善意研究人员提供了安全港。如果你不幸搞砸了,他们甚至还提供支持以修复该问题。

 



推荐阅读

Master of Pwn 2019 诞生!他们开上特斯拉去兜风了

Pwn2Own 2019 攻破特斯拉的漏洞公开了(含分析和利用)



原文链接

https://samcurry.net/cracking-my-windshield-and-earning-10000-on-the-tesla-bug-bounty-program/




题图:Pixabay License




本文由奇安信代码卫士编译,不代表奇安信观点,转载请注明“转自奇安信代码卫士 www.codesafe.cn”。



奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存